/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sacodemel.financeiro.servico.impl;

import com.sacodemel.financeiro.modelo.Colheita;
import com.sacodemel.financeiro.modelo.Pessoa;
import com.sacodemel.financeiro.modelo.RegistroCaixa;
import com.sacodemel.financeiro.persistencia.dao.IConsoleDAO;
import com.sacodemel.financeiro.persistencia.dao.impl.ConsoleDAO;
import com.sacodemel.financeiro.servico.IConsoleService;
import java.util.List;
import javax.inject.Named;

/**
 *
 * @author X4Q1
 */
@Named
public class ConsoleService implements IConsoleService {

    @Override
    public List executarComandoSQL(String tipoComando, String entidade, String comando) throws Exception {
        
        
        if ("I".equals(tipoComando)){
            this.executaSemRetorno(comando);
            return null;
        }else{
            return executaComRetorno(entidade, comando);
        }
        
        
    }
    
    
    private void executaSemRetorno(String sql){
        IConsoleDAO dao = new ConsoleDAO(null);
        dao.executaSQL(sql);
    }
    

    private List executaComRetorno(String entidade, String comando) throws Exception {
     
        if ("P".equals(entidade)){
             IConsoleDAO<Pessoa> dao = new ConsoleDAO<Pessoa>(Pessoa.class);
             return dao.listarComCondicoes(comando);
        }else if ("C".equals(entidade)){
             IConsoleDAO<Colheita> dao = new ConsoleDAO<Colheita>(Colheita.class);
             return dao.listarComCondicoes(comando);
        }else if ("R".equals(entidade)){
             IConsoleDAO<RegistroCaixa> dao = new ConsoleDAO<RegistroCaixa>(RegistroCaixa.class);
             return dao.listarComCondicoes(comando);
        }
        
        return null;
        
        
    }
    

}
